package com.gxa.service;

import com.gxa.common.R;
import com.gxa.common.vo.UserRequestVo;
import com.gxa.common.vo.UserVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

public interface SysUserService {

    /**
     * 根据部门编号查找用户列表
     * @param depId 部门编号
     * @return R
     */
    R findUserByDepId(Integer depId);

    /**
     * 根据用户ID 删除用户
     * @param id 用户id
     * @return R
     */
    R delUserById(Integer id);

    /**
     * 分页查询所有用户信息
     * @param currentPage 当前页
     * @param pageSize 每页大小
     * @return 用户集合
     */
    R selectAllUser(Integer currentPage,Integer pageSize);

    /**
     * 根据用户真实姓名查询用户
     * @param condition 用户真实名字
     * @param currentPage currentPage 当前页
     * @param pageSize 每页大小
     * @return 用户集合
     */
    R selectUserByConditions(String condition,Integer currentPage,Integer pageSize);

    /**
     * 根据条件查询用户信息
     * @param userRequestVo 请求查询的实体
     * @return
     */
    R selectUserByCondition(UserRequestVo userRequestVo);

    /**
     * 添加用户
     * @param userVo 用户实体
     * @return
     */
    R addUser(UserVo userVo);

    /**
     * 根据用户id回显用户信息
     * @param id 用户id
     * @return R
     */
    R selectUserById(Integer id);

    /**
     * 修改用户信息
     * @param userVo 用户实体
     * @return R
     */
    R updateUserById(UserVo userVo);

    /**
     * 添加图片路径
     * @param img 图片
     * @param id 用户id
     * @return
     */
    R addUserImg(MultipartFile img, Integer id, HttpServletRequest request);
}
